package com.ruoyi.business.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 设备对象 test_device
 * 
 * @author gstar
 * @date 2023-08-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("设备")
public class TestDevice extends BaseEntity{

    /** 设备id */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "设备id")
    private Long id;

    /** 企业id */
    @Excel(name = "企业id")
    @ApiModelProperty(value = "企业id")
    private Long enterpriseId;

    /** 实验室id */
    @Excel(name = "实验室id")
    @ApiModelProperty(value = "实验室id")
    private Long labId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty(value = "设备名称")
    private String name;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @ApiModelProperty(value = "设备编号")
    private String code;

    /** 产品id */
    @Excel(name = "产品id")
    @ApiModelProperty(value = "产品id")
    private Long productId;

    /** 产品类型名称 */
    @Excel(name = "产品类型名称")
    @ApiModelProperty(value = "产品类型名称")
    private String productName;

    /** 设备型号名称 */
    @Excel(name = "设备型号名称")
    @ApiModelProperty(value = "设备型号名称")
    private String deviceTypeName;

    /** 展示状态（1代表展示 0代表隐藏） */
    @Excel(name = "展示状态", readConverterExp = "1=代表展示,0=代表隐藏")
    @ApiModelProperty(value = "展示状态（1代表展示 0代表隐藏）")
    private String visibleFlag;

    /** 上次数据发送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次数据发送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "上次数据发送时间")
    private Date lastSendTime;

    /** 设备状态 */
    @Excel(name = "设备状态")
    @ApiModelProperty(value = "设备状态")
    private String deviceStatus;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    /** 显示属性一：二氧化碳浓度/是否使用状态 */
    @Excel(name = "显示属性一：二氧化碳浓度/是否使用状态")
    @ApiModelProperty(value = "显示属性一：二氧化碳浓度/是否使用状态")
    private String sxOne;

    /** 显示属性二：当前培养温度/最近一次灭菌时间 */
    @Excel(name = "显示属性二：当前培养温度/最近一次灭菌时间")
    @ApiModelProperty(value = "显示属性二：当前培养温度/最近一次灭菌时间")
    private String sxTwo;

    /** 显示属性三：近一次报警现象/本周使用总时长 */
    @Excel(name = "显示属性三：近一次报警现象/本周使用总时长")
    @ApiModelProperty(value = "显示属性三：近一次报警现象/本周使用总时长")
    private String sxThree;


}
